100 REM F. COVITZ 110 POKE53280,5:POKE53281,11:POKE53272,21:PRINT"[147][155]":DEFFNA(L)=2^(L-1):E=106 115 I=RND(-TI) 120 DIMS(7),C%(E),T$(4,5),PL(1,3),H(1,7),T1%(4),T2%(4,5),TB(1) 130 DATA"OUT OF GAS","FLAT TIRE",ACCIDENT,"SPEED LIMIT(50)",STOP 140 DATAGAS,"SPARE TIRE",REPAIRS,"END SPEED LIMIT",ROLL,"EXTRA TANK" 150 DATA"PERMANENT TIRE","DRIVING ACE",R,RIGHT-OF-WAY,200,100,75,50,25 160 FORI=1TO4:FORJ=1TO5:READT$(I,J):NEXTJ,I 170 DATA18,56,60,106,4,7,10,14,19,25,31,37,43,57,58,59,60,60,61,65,77,87,97,107 180 B$=" " 190 FORI=1TO4:READT1%(I):NEXTI:FORI=1TO4:FORJ=1TO5:READT2%(I,J):NEXTJ,I 200 G=0:FORI=1TOE:C%(I)=I:NEXTI:S(0)=0:S(1)=0 210 PRINT"SHUFFLING...":GOSUB720:GOSUB800 220 FORI=0TO1:FORJ=0TO3:PL(I,J)=0:NEXTJ:TB(I)=9:NEXTI 230 FORI=0TO1:FORJ=1TO6:CN=CN+1:H(I,J)=C%(CN):NEXTJ,I 240 PRINT"":FORA=1TO6:C=H(1,A):GOSUB760:PRINTTAB(3);N$:NEXTA 250 P=1:CN=CN+1:IFCN>ETHENS=S+1:IFS>6THENN$="NOBODY":GOTO1680 260 IFS>0THEN300 270 C=C%(CN):H(1,0)=C:GOSUB760:PRINT""; 280 PRINTTAB(3)LEFT$(B$,13) 290 PRINT"[145]";TAB(3);N$ 300 PRINT"YOUR MOVE[146]"LEFT$(B$,30) 310 IF(PL(0,3)AND8)ANDPL(0,2)>-1THENPL(0,2)=5:J=22:GOSUB2020:PRINTTAB(9);"ROLL " 320 PRINT" PLAY(P) OR DISCARD(D) WHICH CARD? [157][157]"; 330 GETN$:IFN$>""GOTO330 340 GETN$:IFN$<>"D"ANDN$<>"P"ANDN$<>" "THENGOSUB2040:GOTO340 350 PRINTN$;:IFN$=" "THENN$="D":N=S:PRINT"[157]D"MID$(STR$(S+1),2):GOTO410 360 GETQ$:IFQ$=CHR$(20)GOTO320 370 N=VAL(Q$)-1:IFN>6ORNCHR$(13)THENPRINT"[157] [157]";:GOTO360 410 PRINT:IFN$="D"THENGOSUB900:GOSUB880:GOTO440 420 GOSUB860 430 IFCH=0THENINPUT",OK Y[157][157][157]";N$:GOTO300 440 PRINT"":FORA=0TO3+S:PRINT"";:NEXTA:PRINTTAB(3)LEFT$(B$,18) 450 IFPL(1,0)=1000THENN$="YOU":GOTO1680 460 D$="PLAY" 470 PRINT"":FORI=1TO39:PRINT" ";:NEXTI 480 PRINT"THINKING....":P=0:CN=CN+1 490 IF(PL(1,3)AND8)ANDPL(1,2)>-1THENPL(1,2)=5:J=16:GOSUB2020:PRINTTAB(9);"ROLL " 500 IFS=0THENH(0,0)=C%(CN) 510 HZ=PL(0,2):IFHZ>-1ANDPL(0,1)>-1THEN580 520 GOSUB1430:IFCFTHENPL(0,3)=PL(0,3)+FNA(M):PL(0,CF)=M:S(2)=S(2)+300 530 IFCFTHENS(4)=S(4)+100:GOTO700 540 IFSORPL(1,0)>790ORPL(0,0)>790THENGOSUB1630:IFSFTHEN700 550 GOSUB1390:IFCHTHENPL(0,CH)=M:GOTO700 560 IFPL(0,2)>-1THEN580 570 GOTO660 580 IFPL(0,2)<5THEN650 590 LM=201:IFPL(0,1)<0THENLM=51 600 IFLM<200ANDPL(0,0)<900THENGOSUB1370:IFCHTHENPL(0,1)=4:GOTO700 610 CH=0:D=0:FORA=STO6:C=H(0,A):GOSUB760:B=VAL(N$) 620 IFBDTHEND=B:N=A:CH=1 630 NEXTA:IFCHTHENPL(0,0)=PL(0,0)+D:GOTO700 640 GOTO660 650 GOSUB1480:IFCHAND(PL(0,2)>-1)THENPL(0,2)=5:GOTO700 660 IFPL(1,2)<0ANDPL(1,1)<0THEN690 670 GOSUB1300:IFCH=1ANDPL(1,0)<950THENPL(1,1)=-4:GOTO700 680 IFCH=2ANDPL(1,2)=5THENPL(1,2)=-M:GOTO700 690 GOSUB1500 700 GOSUB1740:IFPL(0,0)=1000THENN$="I":GOTO1680 710 GOSUB2030:GOTO250 720 CN=0:EN=E+1:S=0 730 FORI=2TO5:S(I)=0:NEXTI 740 FORI=1TOE:R%=I+(EN-I)*RND(TI):T=C%(I):C%(I)=C%(R%):C%(R%)=T:REM 750 NEXTI:RETURN 760 FORI=1TO4:FORJ=1TO5 770 IFC>T1%(I)THENJ=5:GOTO790 780 IFC1000THENMS$="YOU HAVE EXCEEDED 1000" 950 IFPL(1,1)=-4ANDD>50THENMS$="YOU HAVE A "+T$(1,4) 960 IFPL(1,2)<5THENMS$="YOU DON'T HAVE A ROLL CARD" 970 IFPL(1,2)<0THENMS$="YOU HAVE A HAZARD" 980 IFMS$<>""THENCH=0:RETURN 990 PL(1,0)=PL(1,0)+D:CH=1 1000 N$=STR$(PL(1,0)):J=14:GOTO1190 1010 IFL<>4ANDPL(0,2)<5THENMS$="I DON'T HAVE A ROLL CARD" 1020 IFL<>4ANDPL(0,2)<0THENMS$="I ALREADY HAVE A HAZARD" 1030 IFL=4ANDPL(0,1)<0THENMS$="I HAVE A SPEED LIMIT" 1040 IFL=4AND(PL(0,3)AND16)THENMS$="I HAVE "+T$(3,5) 1050 IFPL(0,3)ANDFNA(L)THENMS$="HA!-I HAVE THE SAFETY" 1060 IFMS$<>""THENCH=0:RETURN 1070 IFL<>4THENPL(0,2)=-L:J=22:GOTO1190 1080 CH=1:PL(0,1)=-4:J=21:GOTO1190 1090 IFL<>5THEN1140 1100 IFPL(1,2)=5THENMS$="YOU HAVE A ROLL CARD" 1110 IFPL(1,2)<0THENMS$="YOU HAVE A HAZARD":IFPL(1,2)=-5THENMS$="" 1120 IFMS$<>""THENCH=0:RETURN 1130 PL(1,2)=5:GOTO1180 1140 IFL=4ANDPL(1,1)=-4THENPL(P,1)=4:J=15:GOTO1190 1150 IFPL(1,2)<>-LTHENMS$="YOU DON'T NEED TO DO THAT" 1160 IFMS$<>""THENCH=0:RETURN 1170 PL(P,2)=L 1180 J=16 1190 GOSUB2020:PRINTTAB(9)N$" " 1200 CH=1:RETURN 1210 P=1:CF=0:IFPL(1,2)=-LTHENPL(1,2)=L:CF=1 1220 IFL=5ANDPL(1,1)<0THENCF=1 1230 S(5)=S(5)+100:PL(1,3)=PL(1,3)+FNA(L) 1240 IFCFTHENPRINT"COUP FOUREE":S(3)=S(3)+300:GOSUB2030 1250 IFL=5THENPL(P,3)=PL(P,3)+8:PL(P,1)=4:J=21-6*P:GOSUB2020:PRINTTAB(9)T$(2,4) 1260 J=23-6*P:GOSUB2020:PRINTTAB(TB(P))""N$"" 1270 TB(P)=TB(P)+15:IFTB(P)>30ANDTB(P)<49THENTB(P)=49 1280 IFCFANDPL(P,2)=LTHENJ=22-6*P:GOSUB2020:PRINTTAB(9)T$(2,L)" " 1290 CF=0:CH=1:RETURN 1300 CH=0:FORA=STO6:C=H(0,A):GOSUB760 1310 IFK<>1THEN1360 1320 IFL=4ANDPL(1,1)>-1THENCH=1:M=L:N=A 1330 IFL<>4ANDPL(1,2)>0THENCH=2:M=L:N=A 1340 IFFNA(L)ANDPL(1,3)THENCH=0 1350 IFCHTHENA=6 1360 NEXTA:RETURN 1370 CH=0:FORA=STO6:C=H(0,A):GOSUB760:IFK=2ANDL=4THENCH=1:N=A:A=6 1380 NEXTA:RETURN 1390 CH=0:FORA=STO6:C=H(0,A):GOSUB760 1400 IFK=2ANDL=-HZTHENCH=2:M=L:N=A:A=6:GOTO1420 1410 IFK=2ANDL=4ANDPL(0,1)=-4THENCH=1:M=L:N=A 1420 NEXTA:RETURN 1430 SF=0:CF=0:FORA=STO6:C=H(0,A):GOSUB760:IFK<>3THEN1470 1440 IFPL(0,1)<0ANDL=5THENCF=1 1450 SF=SF-8*(L=5)+FNA(L):M=L:N=A:IFL=-HZTHENCF=2 1460 IFCFTHENA=6 1470 NEXTA:RETURN 1480 CH=0:FORA=STO6:C=H(0,A):GOSUB760:IFK=2ANDL=5THENCH=1:N=A:A=6 1490 NEXTA:RETURN 1500 D$="DISCARD":FORA=STO6:C=H(0,A):GOSUB760 1510 IFK=1AND(PL(1,3)ANDFNA(L))THEN1670 1520 IFK=1ANDL=4ANDPL(1,0)>949THEN1670 1530 IFK=2AND(FNA(L)AND(PL(0,3)ORSF))THEN1670 1540 IFK=4ANDVAL(N$)>(1000-PL(0,0))THEN1670 1550 NEXTA 1560 FORA=STO6:C=H(0,A):GOSUB760 1570 IFK=4ANDVAL(N$)ANDVAL(N$)<76THEN1670 1580 NEXTA 1590 FORA=STO6:C=H(0,A):GOSUB760 1600 IFK=1AND(FNA(L)AND(PL(0,3)ORSF)=0)THEN1670 1610 IFK=2ANDL<5AND(PL(1,3)ANDFNA(L)=0)THEN1670 1620 NEXTA 1630 GOSUB1430 1640 IFSFTHENPL(0,3)=PL(0,3)+FNA(M):D$="PLAY[146]":S(4)=S(4)+100:RETURN 1650 N=INT((7-S)*RND(1))+S:IFSTHENRETURN:C=H(0,N):GOSUB760:IFVAL(N$)>100GOTO1650 1660 RETURN 1670 N=A:A=6:NEXTA:RETURN 1680 PRINT" "N$" REACHED 1000 MILES!!...":PRINTB$ 1690 INPUT"[145]NEXT ROUND Y[157][157][157]";N$ 1700 GOSUB1860:IFG>4ORLEFT$(N$,1)="N"THENPRINT"GAME OVER":GOTO1720 1710 INPUT"OK Y[157][157][157]";N$:GOTO210 1720 INPUT"NEW GAME Y[157][157][157]";N$:IFN$="Y"THENRUN 1730 END 1740 P=0:C=H(0,N):GOSUB760 1750 PRINT"MY "D$"[146] IS "N$;:FORI=1TO32-LEN(D$+N$):PRINT" ";:NEXTI 1760 PRINT:P=0 1770 IFLEN(D$)>6THENGOSUB910:GOSUB920:RETURN 1780 IFCFTHENPRINT"COUP FOUREE" 1790 PRINT"":IFK=4THENN$=STR$(PL(0,0)):J=20 1800 CH=0:IFK=3THENJ=23:CH=1 1810 IFK=2THENJ=22:IFL=4THENJ=21 1820 IFK=1THENJ=16:IFL=4THENJ=15 1830 GOSUB2020:PRINTTAB(9); 1840 IFCHTHENGOSUB1250:GOSUB920:RETURN 1850 PRINTN$" ":GOSUB920:RETURN 1860 G=G+1:PRINT"[147]SCORES FOR ROUND"G 1870 PRINT:PRINTTAB(17)"ME"TAB(26)"YOU" 1880 PRINT"DISTANCE"TAB(15)PL(0,0)TAB(25)PL(1,0) 1890 S(6)=PL(0,0):S(7)=PL(1,0) 1900 PRINT"COMPLETE TRIP" 1910 IFS(6)=1000THENPRINTTAB(15)"[145] 400":S(6)=S(6)+400 1920 IFS(7)=1000THENPRINTTAB(25)"[145] 400":S(7)=S(7)+400 1930 PRINT"COUPS FOUREES"TAB(15)S(2)TAB(25)S(3) 1940 S(6)=S(6)+S(2):S(7)=S(7)+S(3) 1950 PRINT"SAFETIES"TAB(15)S(4)TAB(25)S(5) 1960 S(6)=S(6)+S(4):S(7)=S(7)+S(5) 1970 PRINT"SHUT OUT":IFPL(1,0)=0THENPRINTTAB(15)"[145] 500":S(6)=S(6)+500 1980 IFPL(0,0)=0THENPRINTTAB(25)"[145] 500":S(7)=S(7)+500 1990 PRINT:PRINT"ROUND"G"TOTAL"TAB(15)S(6)TAB(25)S(7) 2000 S(0)=S(0)+S(6):S(1)=S(1)+S(7) 2010 PRINT:PRINT"GRAND TOTAL"TAB(15)S(0)TAB(25)S(1):RETURN 2020 PRINT"";:FORI=1TOJ:PRINT:NEXTI:RETURN 2030 FORI=0TO800:NEXTI:RETURN 2040 PRINT"[166][157]";:I=FRE(0):PRINT" [157]";:RETURN